home *** CD-ROM | disk | FTP | other *** search
/ Amiga Developer CD 2.1 / Amiga Developer CD v2.1.iso / CD32 / CD32_Support / examples / SA_Examples / cd / CDTest / CDTest.doc < prev    next >
Encoding:
Text File  |  1999-10-27  |  18.5 KB  |  904 lines

  1. cd.device Test
  2. Written by John J. Szucs
  3. Copyright © 1993-1999 Amiga, Inc.
  4. All Rights Reserved
  5.  
  6. Introduction
  7. ============
  8.  
  9. cd.device is the test program for cd.device, the CD-ROM device driver
  10. in the Amiga CD32 and other future Amiga systems equipped with a CD-ROM
  11. drive.
  12.  
  13. The primary interface to the cd.device test program is an ARexx command
  14. host. The ARexx port name is:
  15.  
  16.     cd.<instance>
  17.  
  18. where <instance> is the instance number (beginning with 1) of the cd.device
  19. test program.
  20.  
  21. To Do
  22. =====
  23.  
  24. The following features are documented, but not implemented in the
  25. current version:
  26.  
  27. [ ] Synchronous I/O -- all I/O is currently asynchronous (via
  28.     exec.library/DoIO()) and the IO command is not implemented.
  29.  
  30. [ ] READXL
  31.  
  32. [ ] Comments in cd.c (cd.device command module) are, to say the
  33.     least, sparse.
  34.  
  35. This program is due to the very intense time pressure under which
  36. this test program was written (3 working days, minus time for
  37. administrative and other duties).
  38.  
  39. Startup
  40. =======
  41.  
  42. CLI:
  43.     CDTest DEBUG/S,NOCD/S
  44.  
  45. INPUTS
  46.     DEBUG           -   Debugging mode; detailed output of
  47.                         progress through all commands
  48.     NOCD            -   Do not use cd.device; all cd.device
  49.                         commands fail
  50.  
  51. Device I/O
  52. ==========
  53.  
  54. By default, cd.device uses asynchronous device I/O (via the
  55. exec.library/DoIO() function). However, synchronous device I/O (via the
  56. exec.library/SendIO(), WaitIO(), AbortIO(), and CheckIO() functions) is also
  57. supported.
  58.  
  59. Asynchronous I/O
  60. ----------------
  61.  
  62. To explicitly select asynchronous I/O, use the command:
  63.  
  64.     IO ASYNC
  65.  
  66. In asynchronous I/O mode, the cd.device test program automatically sets
  67. up all I/O requests, executes the I/O request with exec.library/DoIO(),
  68. and returns the result (if any) to the ARexx script.
  69.  
  70. Synchronous I/O
  71. ---------------
  72.  
  73. To explicitly select synchronous I/O, use the command:
  74.  
  75.     IO SYNC
  76.  
  77. The basic sequence of events necessary for synchronous I/O is:
  78.  
  79.     <cd.device command>             /* Initialize I/O request */
  80.     SendIO                          /* Send I/O request */
  81.     WaitIO                          /* Wait for I/O request
  82.                                        to complete and return
  83.                                        result (if any) */
  84.  
  85. where <cd.device command> is one of the cd.device test program commands that
  86. mirror cd.device I/O commands.
  87.  
  88. To abort a pending I/O request, use the following sequence (after SendIO):
  89.  
  90.     AbortIO                         /* Abort I/O request */
  91.     WaitIO                          /* Wait for I/O request to abort */
  92.  
  93. To check whether a pending I/O request is completed, use the following
  94. sequence (after SendIO):
  95.  
  96.     CheckIO                         /* Abort I/O request */
  97.     if result=1 then
  98.         say "I/O request completed"
  99.     else
  100.         say "I/O request in progress"
  101.  
  102. cd.device commands
  103. ==================
  104.  
  105. ADDCHANGEINT
  106. ------------
  107.  
  108. SYNOPSIS
  109.     ADDCHANGEINT
  110.  
  111. FUNCTION
  112.     Add disk change interrupt. The disk change interrupt
  113.     set-up by this function maintains the following information:
  114.  
  115.     o   Total number of calls to interrupt handler
  116.  
  117.     o   Number of calls with invalid is_Data
  118.             (tested against magic cookie set up at
  119.              ADDCHANGEINT time)
  120.  
  121. INPUTS
  122.     None
  123.  
  124. RESULT
  125.     None
  126.  
  127. NOTES
  128.  
  129. BUGS
  130.  
  131. SEE ALSO
  132.     REMCHANGEINT, GETCHANGEINT
  133.  
  134. ADDFRAMEINT
  135. -----------
  136.  
  137. SYNOPSIS
  138.     ADDFRAMEINT
  139.  
  140. FUNCTION
  141.     Add frame interrupt. The frame interrupt set-up by this
  142.     function maintains the following information:
  143.  
  144.     o   Total number of calls to interrupt handler
  145.  
  146.     o   Number of calls with invalid is_Data
  147.             (tested against magic cookie set up at
  148.              ADDFRAMEINT time)
  149.  
  150. INPUTS
  151.     None
  152.  
  153. RESULT
  154.     None
  155.  
  156. NOTES
  157.  
  158. BUGS
  159.  
  160. SEE ALSO
  161.     REMFRAMEINT, GETFRAMEINT
  162.  
  163. ATTENUATE
  164. ---------
  165.  
  166. SYNOPSIS
  167.     ATTENUATE DURATION/N/A,TARGET/N/A
  168.  
  169. FUNCTION
  170.     Attenuate CD audio volume, fading from current volume to
  171.     target volume over specified duration.
  172.  
  173. INPUTS
  174.     DURATION    -   Duration of fade (frames; one frame = 1/75th s)
  175.     TARGET      -   Target volume (0 (mute) - 32767 (full))
  176.  
  177. RESULT
  178.     VOLUME      -   Current volume level (0 (mute) - 32767 (full))
  179.  
  180. NOTES
  181.     To query (without changing) the current volume level, use a
  182.     value of -1 for TARGET.
  183.  
  184. BUGS
  185.  
  186. SEE ALSO
  187.  
  188. CHANGENUM
  189. ---------
  190.  
  191. SYNOPSIS
  192.     CHANGENUM
  193.  
  194. FUNCTION
  195.     Return disk-change count.
  196.  
  197. INPUTS
  198.     None
  199.  
  200. RESULT
  201.     CHANGECOUNT -   Disk-change count
  202.  
  203. NOTES
  204.  
  205. BUGS
  206.  
  207. SEE ALSO
  208.  
  209. CHANGESTATE
  210. -----------
  211.  
  212. SYNOPSIS
  213.     CHANGESTATE
  214.  
  215. FUNCTION
  216.     Return disk-change state.
  217.  
  218. INPUTS
  219.     None
  220.  
  221. RESULT
  222.     CHANGESTATE -   Disk-change state
  223.                     (0 = disk present; !=0 = no disk present)
  224.  
  225. NOTES
  226.  
  227. BUGS
  228.  
  229. SEE ALSO
  230.  
  231. CONFIG
  232. ------
  233.  
  234. SYNOPSIS
  235.     CONFIG PLAYSPEED/N,READSPEED/N,READXLSPEED/N,SECTORSIZE/N,
  236.         XLECC/S,NOXLECC/S,EJECTRESET/S,NOEJECTRESET/S
  237.  
  238. FUNCTION
  239.     Change CD-ROM drive settings.
  240.  
  241. INPUTS
  242.     PLAYSPEED       -   Play speed (frames per second)
  243.     READSPEED       -   Data read speed (frames per seocnd)
  244.     READXLSPEED     -   CD-XL read speed (frames per second)
  245.     SECTORSIZE      -   Sector size (bytes per sector)
  246.     XLECC           -   Enable error checking/correction for CD-XL
  247.     NOXLECC         -   Disable error checking/correction for CD-XL
  248.     EJECTRESET      -   Enable system reset on CD eject
  249.     NOEJECTRESET    -   Disable system reset on CD eject
  250.  
  251. RESULT
  252.     None
  253.  
  254. NOTES
  255.     If an argument is not specified, the associated CD-ROM
  256.     drive setting is unchanged.
  257.  
  258.     If EJECTRESET and NOEJECTRESET are both specified, a garbage
  259.     value (0xFFFFFFFF) is passed as the value for CD_EJECTRESET tag
  260.     to CD_CONFIG.
  261.  
  262. BUGS
  263.     This command does not work with cd.device 40.19 or earlier
  264.     because the TAGCD_* definitions conflict with the TAG_*.
  265.  
  266. SEE ALSO
  267.  
  268. EJECT
  269. -----
  270.  
  271. SYNOPSIS
  272.     EJECT OPEN/S,CLOSE/S
  273.  
  274. FUNCTION
  275.     Open or close CD-ROM drive.
  276.  
  277. INPUTS
  278.     OPEN        -   Open CD-ROM drive drawer.
  279.     CLOSE       -   Close CD-ROM drive drawer.
  280.  
  281. RESULT
  282.     STATE       -   Previous state of CD-ROM drive drawer
  283.                     (0 = closed; 1 = open)
  284.  
  285. NOTES
  286.     If neither OPEN nor CLOSE are specified, an invalid io_Length (-1)
  287.     is set in the cd.device/CD_EJECT I/O request. This may be useful
  288.     for testing.
  289.  
  290. BUGS
  291.  
  292. SEE ALSO
  293.  
  294. GETGEOMETRY
  295. -----------
  296.  
  297. SYNOPSIS
  298.     GETGEOMETRY STEM/A
  299.  
  300. FUNCTION
  301.     Query drive geometry.
  302.  
  303. INPUTS
  304.     STEM        -   stem variable to store drive geometry data
  305.  
  306. RESULT
  307.     stem.SectorSize         -   sector size (bytes)
  308.     stem.TotalSectors       -   total sector count
  309.     stem.Cylinders          -   cylinder count
  310.     stem.CylSectors         -   sectors per sector
  311.     stem.Heads              -   head count
  312.     stem.TrackSectors       -   sectors per track
  313.     stem.BufMemType         -   buffer memory type
  314.                                 (flag value, see MEMF_* in
  315.                                 exec/types.h)
  316.     stem.DeviceType         -   device type code
  317.                                 (see DG_* in devices/trackdisk.h)
  318.     stem.Removable          -   0 if non-removable; !=0 if removable
  319.  
  320. NOTES
  321.  
  322. BUGS
  323.  
  324. SEE ALSO
  325.  
  326. INFO
  327. ----
  328.  
  329. SYNOPSIS
  330.     INFO STEM/A
  331.  
  332. FUNCTION
  333.     Query drive configuration.
  334.  
  335. INPUTS
  336.     STEM                    -   stem variable to store
  337.                                 drive geometry data
  338.  
  339. RESULT
  340.     stem.PlaySpeed          -   play speed (frames per second)
  341.     stem.ReadSpeed          -   read speed (frames per second)
  342.     stem.ReadXLSpeed        -   CD-XL read speed (frames per second)
  343.     stem.SectorSize         -   sector size (bytes)
  344.     stem.XLECC              -   CD-XL error checking/correction
  345.                                 (0 = disabled; !=0 enabled)
  346.     stem.EjectReset         -   reset on eject
  347.                                 (0 = disabled; !=0 enabled)
  348.     stem.MaxSpeed           -   maximum drive speed
  349.                                 (frames per second)
  350.     stem.AudioPrecision     -   audio volume precision
  351.                                 (0 = no attenuator;
  352.                                  1 = mute only;
  353.                                  other = # levels -1)
  354.     stem.Closed             -   drive door closed?
  355.                                 (0 = open; 1 = closed)
  356.     stem.Disk               -   disk in drive?
  357.                                 (0 = no disk present; 1 = disk present)
  358.     stem.Spin               -   disk spinning?
  359.                                 (0 = disk not spinning; 1 = disk spinning)
  360.     stem.TOC                -   TOC found?
  361.                                 (0 = TOC not found; 1 = TOC found)
  362.     stem.CDROM              -   CD-ROM in drive?
  363.                                 (0 = CD-ROM not present;
  364.                                  1 = CD-ROM present)
  365.     stem.Playing            -   CD Audio playing?
  366.                                 (0 = audio not playing;
  367.                                  1 = audio playing)
  368.     stem.Paused             -   CD Audio paused?
  369.                                 (0 = audio not paused;
  370.                                  1 = audio paused)
  371.     stem.Search             -   CD Audio search?
  372.                                 (0 = search off;
  373.                                  1 = search on)
  374.     stem.Direction          -   CD Audio search direction
  375.                                 (0 = forward;
  376.                                  1 = reverse)
  377.  
  378. NOTES
  379.  
  380. BUGS
  381.  
  382. SEE ALSO
  383.  
  384. MOTOR
  385. -----
  386.  
  387. SYNOPSIS
  388.     MOTOR ON/S,OFF/S
  389.  
  390. FUNCTION
  391.     Spin-up or spin-down CD-ROM drive spindle motor.
  392.  
  393. INPUTS
  394.     ON          -   Spin-up CD-ROM drive spindle motor.
  395.     OFF         -   Spin-down CD-ROM drive spindle motor.
  396.  
  397. RESULT
  398.     STATE       -   Previous state of CD-ROM drive spindle motor
  399.                     (0 = off;1 = on)
  400.  
  401. NOTES
  402.     If neither ON nor OFF are specified, an invalid io_Length (-1)
  403.     is set in the cd.device/CD_EJECT I/O request. This may be useful
  404.     for testing.
  405.  
  406. BUGS
  407.  
  408. SEE ALSO
  409.  
  410. PAUSE
  411. -----
  412.  
  413. SYNOPSIS
  414.     PAUSE ON/S,OFF/S
  415.  
  416. FUNCTION
  417.     Pause or unpause CD-ROM drive.
  418.  
  419. INPUTS
  420.     ON          -   Pause CD-ROM drive.
  421.     OFF         -   Unpause CD-ROM drive.
  422.  
  423. RESULT
  424.     STATE       -   Previous pause state of CD-ROM drive.
  425.                     (0 = unpaused; 1 = paused)
  426.  
  427. NOTES
  428.     If neither ON nor OFF are specified, an invalid io_Length (-1)
  429.     is set in the cd.device/CD_PAUSE I/O request. This may be useful
  430.     for testing.
  431.  
  432. BUGS
  433.  
  434. SEE ALSO
  435.  
  436. PLAYLSN
  437. -------
  438.  
  439. SYNOPSIS
  440.     PLAYLSN START/N/A,LENGTH/N/A
  441.  
  442. FUNCTION
  443.     Play CD audio using LSN (logical sector number) references.
  444.  
  445. INPUTS
  446.     START       -   Starting LSN
  447.     LENGTH      -   Length of play (logical sectors)
  448.  
  449. RESULT
  450.     None
  451.  
  452. NOTES
  453.  
  454. BUGS
  455.  
  456. SEE ALSO
  457.     PLAYMSF
  458.  
  459. PLAYMSF
  460. -------
  461.  
  462. SYNOPSIS
  463.     PLAYMSF START/A,LENGTH/A
  464.  
  465. FUNCTION
  466.     Play CD audio using MSF (minute/second/frame) references.
  467.  
  468. INPUTS
  469.     START       -   Starting MSF
  470.     LENGTH      -   Length of play (MSF)
  471.  
  472. RESULT
  473.     None
  474.  
  475. NOTES
  476.     MSF values must be specified as:
  477.         mm:ss:ff
  478.     where <mm> is minutes, <ss> is seconds, and <ff> is frames.
  479.     For example:
  480.         05:15:27
  481.     to specify 5 minutes, 15 seconds, and 27 frames.
  482.  
  483. BUGS
  484.  
  485. SEE ALSO
  486.     PLAYLSN
  487.  
  488. PLAYTRACK
  489. ---------
  490.  
  491. SYNOPSIS
  492.     PLAYTRACK START/N/A,LENGTH/N/A
  493.  
  494. FUNCTION
  495.     Play CD audio by track.
  496.  
  497. INPUTS
  498.     START       -   Starting track
  499.     LENGTH      -   Number of tracks to play
  500.  
  501. RESULT
  502.     None
  503.  
  504. NOTES
  505.  
  506. BUGS
  507.  
  508. SEE ALSO
  509.  
  510. PROTSTATUS
  511. ----------
  512.  
  513. SYNOPSIS
  514.     PROTSTATUS
  515.  
  516. FUNCTION
  517.     Query write-protection status of device.
  518.  
  519. INPUTS
  520.     None
  521.  
  522. RESULT
  523.     protected   -   0 if writable; 1 if write-protected
  524.  
  525. NOTES
  526.  
  527. BUGS
  528.  
  529. SEE ALSO
  530.  
  531. QCODELSN
  532. --------
  533.  
  534. SYNOPSIS
  535.     QCODELSN STEM/A
  536.  
  537. FUNCTION
  538.     Read Q-code data in LSN format.
  539.  
  540. INPUTS
  541.     STEM                -   stem variable to store Q-code data
  542.  
  543. RESULT
  544.     stem.CtlAdr         -   control/address bye
  545.     stem.Track          -   track number
  546.     stem.Index          -   index number
  547.     stem.Zero           -   "zero" byte
  548.     stem.TrackPosition  -   track-relative position (LSN)
  549.     stem.DiskPosition   -   disk-relative position (LSN)
  550.  
  551. NOTES
  552.  
  553. BUGS
  554.  
  555. SEE ALSO
  556.     QCODEMSF
  557.  
  558. QCODEMSF
  559. --------
  560.  
  561. SYNOPSIS
  562.     QCODEMSF STEM/A
  563.  
  564. FUNCTION
  565.     Read Q-code data in MSF format.
  566.  
  567. INPUTS
  568.     STEM/A    -   stem variable to store Q-code data
  569.  
  570. RESULT
  571.     stem.CtlAdr                 -   control/address bye
  572.     stem.Track                  -   track number
  573.     stem.Index                  -   index number
  574.     stem.Zero                   -   "zero" byte
  575.     stem.TrackPosition.Minute   -   track-relative position (minute)
  576.     stem.TrackPosition.Second   -   track-relative position (second)
  577.     stem.TrackPosition.Frame    -   track-relative position (frame)
  578.     stem.DiskPosition.Minute    -   disk-relative position (minute)
  579.     stem.DiskPosition.Second    -   disk-relative position (second)
  580.     stem.DiskPosition.Frame     -   disk-relative position (frame)
  581.  
  582. NOTES
  583.  
  584. BUGS
  585.  
  586. SEE ALSO
  587.     QCODELSN
  588.  
  589. READ
  590. ----
  591.  
  592. SYNOPSIS
  593.     READ OFFSET/N/A,LENGTH/N/A,
  594.         BV=BYTEVERIFY/S,WV=WORDVERIFY/S,OV=OFFSETVERIFY/S,
  595.         START/N
  596.  
  597. FUNCTION
  598.     Read data from CD-ROM disk.
  599.  
  600.     If BYTE is specified, data is compared against byte in START.
  601.  
  602.     If WORD is specified, data is compared against word in START.
  603.  
  604.     If OFFSET is specified, data is compared against offset
  605.     pattern beginning with START.
  606.  
  607. INPUTS
  608.     OFFSET                      -   Byte offset of read
  609.     LENGTH                      -   Byte length of read
  610.     BYTEVERIFY                  -   Verify byte pattern
  611.     WORDVERIFY                  -   Verify word pattern
  612.     OFFSETVERIFY                -   Verify offset pattern
  613.     START                       -   Base verify value (for
  614.                                     BYTEVERIFY, WORDVERIFY,
  615.                                     and OFFSETVERIFY)
  616.  
  617. RESULT
  618.     Returns 0 (RC_OK) if successful.
  619.     Returns 5 (RC_WARN) if error detected verifying pattern.
  620.     Returns 10 (RC_ERROR) if error reading data.
  621.  
  622. NOTES
  623.     If START is not specified with BYTEVERIFY, WORDVERIFY,
  624.     or OFFSETVERIFY, a default of 0 is used.
  625.  
  626. BUGS
  627.  
  628. SEE ALSO
  629.  
  630. READXL
  631. ------
  632.  
  633. REMCHANGEINT
  634. ------------
  635.  
  636. SYNOPSIS
  637.     REMCHANGEINT
  638.  
  639. FUNCTION
  640.     Remove disk change interrupt handler.
  641.  
  642. INPUTS
  643.     None
  644.  
  645. RESULT
  646.     None
  647.  
  648. NOTES
  649.  
  650. BUGS
  651.  
  652. SEE ALSO
  653.     ADDCHANGEINT, GETCHANGEINT
  654.  
  655. REMFRAMEINT
  656. -----------
  657.  
  658. SYNOPSIS
  659.     REMFRAMEINT
  660.  
  661. FUNCTION
  662.     Remove frame change interrupt handler.
  663.  
  664. INPUTS
  665.     None
  666.  
  667. RESULT
  668.     None
  669.  
  670. NOTES
  671.  
  672. BUGS
  673.  
  674. SEE ALSO
  675.     ADDFRAMEINT, GETFRAMEINT
  676.  
  677. SEARCH
  678. ------
  679.  
  680. SYNOPSIS
  681.     SEARCH NORMAL/S,FFWD/S,FREV/S
  682.  
  683. FUNCTION
  684.     Set normal, fast-forward, or fast-reverse audio play mode.
  685.  
  686. INPUTS
  687.     NORMAL                  -   Select normal audio play mode.
  688.     FFWD                    -   Select fast-forward audio play mode.
  689.     FREV                    -   Select fast-reverse audio play mode.
  690.  
  691. RESULT
  692.  
  693. NOTES
  694.     If none of NORMAL, FFWD, or FREV are specified, the
  695.     io_Length field is set to an invalid value (-1). This may be
  696.     useful for testing.
  697.  
  698. BUGS
  699.  
  700. SEE ALSO
  701.  
  702. TOCLSN
  703. ------
  704.  
  705. SYNOPSIS
  706.     TOCLSN STEM/A,ENTRIES/N/A,BEGIN/N/A
  707.  
  708. FUNCTION
  709.     Fetch table of contents (TOC) in LSN format.
  710.  
  711. INPUTS
  712.     STEM                    -   Stem variable to store TOC data
  713.     ENTRIES                 -   Number of entries to fetch
  714.     BEGIN                   -   Starting track number
  715.                                 (0 to include summary)
  716.  
  717. RESULTS
  718.     stem.Summary.FirstTrack -   First track number
  719.     stem.Summary.LastTrack  -   Last track number
  720.     stem.Summary.LeadOut    -   Start of lead-out track (LSN)
  721.  
  722.     stem.n.CtlAdr           -   Control/address byte for track
  723.     stem.n.Track            -   Track number for track
  724.     stem.n.Position         -   Track position (LSN)
  725.  
  726.     where n is stem entry.
  727.  
  728. NOTES
  729.  
  730. EXAMPLE
  731.     TOCLSN myToc 100 0      /* To fetch full table of contents */
  732.     say myToc.Summary.LeadOut   /* Output leadout */
  733.     say myToc.1.Track           /* Output track number of track 1 */
  734.     say myToc.5.Position        /* Output LSN position of track 5 */
  735.  
  736. BUGS
  737.  
  738. SEE ALSO
  739.     TOCMSF
  740.  
  741. TOCMSF
  742. ------
  743.  
  744. SYNOPSIS
  745.     TOCMSF STEM/A,ENTRIES/N/A,BEGIN/N/A
  746.  
  747. FUNCTION
  748.     Fetch table of contents (TOC) in MSF format.
  749.  
  750. INPUTS
  751.     STEM                    -   Stem variable to store TOC data
  752.     ENTRIES                 -   Number of entries to fetch
  753.     BEGIN                   -   Starting track number
  754.                                 (0 to include summary)
  755.  
  756. RESULTS
  757.     stem.Summary.FirstTrack -   First track number
  758.     stem.Summary.LastTrack  -   Last track number
  759.     stem.Summary.LeadOut.Minute -   Start of lead-out track (minute)
  760.     stem.Summary.LeadOut.Second -   Start of lead-out track (second)
  761.     stem.Summary.LeadOut.Frame  -   Start of lead-out track (frame)
  762.  
  763.     stem.n.CtlAdr           -   Control/address byte for track
  764.     stem.n.Track            -   Track number for track
  765.     stem.n.Position.Minute  -   Track position (minute)
  766.     stem.n.Position.Second  -   Track position (second)
  767.     stem.n.Position.Frame   -   Track position (frame)
  768.  
  769.     where n is stem entry.
  770.  
  771. NOTES
  772.  
  773. EXAMPLE
  774.     TOCLSN myToc 100 0      /* To fetch full table of contents */
  775.     say myToc.Summary.LeadOut   /* Output leadout */
  776.     say myToc.1.Track           /* Output track number of track 1 */
  777.     say myToc.5.Position.Minute /* Output minute position of track 5 */
  778.     say myToc.5.Position.Second /* Output second position of track 5 */
  779.  
  780. BUGS
  781.  
  782. SEE ALSO
  783.  
  784. I/O commands
  785. ============
  786.  
  787. IO
  788. --
  789.  
  790. SYNOPSIS
  791.     IO SYNC/S,ASYNC/S
  792.  
  793. FUNCTION
  794.     Select synchronous or asynchronous I/O to cd.device.
  795.  
  796. INPUTS
  797.     SYNC            -   Select synchronous I/O
  798.     ASYNC           -   Select asynchronous I/O
  799.  
  800. RESULT
  801.     None
  802.  
  803. NOTES
  804.  
  805. EXAMPLE
  806.  
  807. BUGS
  808.  
  809. SEE ALSO
  810.  
  811. AbortIO
  812. -------
  813.  
  814. CheckIO
  815. -------
  816.  
  817. DoIO
  818. ----
  819.  
  820. SendIO
  821. ------
  822.  
  823. WaitIO
  824. ------
  825.  
  826. Support Commands
  827. ================
  828.  
  829. GETCHANGEINT
  830. ------------
  831.  
  832. SYNOPSIS
  833.     GETCHANGEINT STEM/A
  834.  
  835. FUNCTION
  836.     Get data collected by disk change interrupt handler.
  837.  
  838. INPUTS
  839.     STEM                -   stem variable to store disk
  840.                             change interrupt data
  841.  
  842. RESULT
  843.     stem.Call           -   Total number of calls to
  844.                             disk change interrupt handler
  845.     stem.BadData        -   Number of calls to disk change
  846.                             interrupt handler with bad
  847.                             interrupt data
  848.  
  849. NOTES
  850.  
  851. BUGS
  852.  
  853. SEE ALSO
  854.     ADDCHANGEINT, REMCHANGEINT
  855.  
  856. GETFRAMEINT
  857. -----------
  858.  
  859. SYNOPSIS
  860.     GETFRAMEINT STEM/A
  861.  
  862. FUNCTION
  863.     Get data collected by frame interrupt handler.
  864.  
  865. INPUTS
  866.     STEM                -   stem variable to store frame
  867.                             interrupt data
  868.  
  869. RESULT
  870.     stem.Call           -   Total number of calls to
  871.                             frame interrupt handler
  872.     stem.BadData        -   Number of calls to frame
  873.                             interrupt handler with bad
  874.                             interrupt data
  875.  
  876. NOTES
  877.  
  878. BUGS
  879.  
  880. SEE ALSO
  881.     ADDFRAMEINT, REMFRAMEINT
  882.  
  883. QUIT
  884. ----
  885.  
  886. SYNOPSIS
  887.     QUIT
  888.  
  889. FUNCTION
  890.     Terminate cd.device test program.
  891.  
  892. INPUTS
  893.     None
  894.  
  895. RESULT
  896.     None
  897.  
  898. NOTES
  899.  
  900. BUGS
  901.     I certainly hope not!
  902.  
  903. SEE ALSO
  904.